home *** CD-ROM | disk | FTP | other *** search
/ Pascal Super Library / Pascal Super Library (CW International)(1997).bin / MLT_TASK / PIBMDOS / YESNO.PAS < prev   
Pascal/Delphi Source File  |  1988-03-14  |  2KB  |  65 lines

  1. (*----------------------------------------------------------------------*)
  2. (*          YesNo --- Prompt for and read Yes/No question/answer        *)
  3. (*----------------------------------------------------------------------*)
  4.  
  5. FUNCTION YesNo( YesNo_Question : AnyStr ) : BOOLEAN;
  6.  
  7. (*----------------------------------------------------------------------*)
  8. (*                                                                      *)
  9. (*     Function:   YesNo                                                *)
  10. (*                                                                      *)
  11. (*     Purpose:    Prompt for and read Yes/No question/answer           *)
  12. (*                                                                      *)
  13. (*     Calling Sequence:                                                *)
  14. (*                                                                      *)
  15. (*        Yes_Answer := YesNo( YesNo_Question : AnyStr ) : BOOLEAN;     *)
  16. (*                                                                      *)
  17. (*           YesNo_Question --- Text of Yes/No question to be asked     *)
  18. (*           Yes_Answer     --- Set TRUE if "Yes" answer given, else    *)
  19. (*                              set FALSE.                              *)
  20. (*                                                                      *)
  21. (*     Calls:  Read_Kbd                                                 *)
  22. (*                                                                      *)
  23. (*----------------------------------------------------------------------*)
  24.  
  25. VAR
  26.    Ans_Ch: CHAR;
  27.    Ch    : CHAR;
  28.    X     : INTEGER;
  29.    Y     : INTEGER;
  30.  
  31. BEGIN (* YesNo *)
  32.  
  33.    WRITELN;
  34.  
  35.    X      := WhereX;
  36.    Y      := WhereY;
  37.  
  38.    Ans_Ch := ' ';
  39.  
  40.    REPEAT
  41.  
  42.       GoToXY( X , Y );
  43.       ClrEol;
  44.  
  45.       WRITE( YesNo_Question, ' (y/n)? ' );
  46.  
  47.       Read_Kbd( Ans_Ch );
  48.  
  49.       Ans_Ch := UpCase( Ans_Ch );
  50.  
  51.    UNTIL( Ans_Ch IN ['Y','N'] );
  52.  
  53.    IF Ans_Ch = 'Y' THEN
  54.       BEGIN
  55.          YesNo := TRUE;
  56.          WRITE('Yes');
  57.       END
  58.    ELSE
  59.       BEGIN
  60.          YesNo := FALSE;
  61.          WRITE('No');
  62.       END;
  63.  
  64. END   (* YesNo *);
  65.